package com.wangyb.wework.entity.contact;

import com.baomidou.mybatisplus.annotation.*;
import com.wangyb.common.diff.DiffLog;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 通讯录 - 客户 中间对象 ww_contact_employee
 *
 * @Author: wangyb
 * @Date: 2021/6/30 5:44 下午
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("ww_contact_employee")
public class WwContactEmployee implements Serializable {

	private static final long serialVersionUID=1L;


	/** $column.columnComment */
	@TableId(value = "id")
	private Long id;

	/** 通讯录表ID（work_employee.id） */
	private Long employeeId;
	private String employeeWxUserid;

	@TableField(exist = false)
	private String employeeName;

	/** 客户表ID（work_contact.id） */
	private Long contactId;
	private String contactWxUserid;

	/** 员工对此外部联系人的备注 */
	@DiffLog(name = "备注")
	private String remark;

	/** 员工对此外部联系人的描述 */
	@DiffLog(name = "描述")
	private String description;

	/** 员工对此客户备注的企业名称 */
	@DiffLog(name = "企业名称")
	private String remarkCorpName;

	/** 员工对此客户备注的手机号码 */
	@DiffLog(name = "手机号码")
	private String remarkMobiles;

	/** 表示添加客户的来源
	 0
	 未知来源
	 1
	 扫描二维码
	 2
	 搜索手机号
	 3
	 名片分享
	 4
	 群聊
	 5
	 手机通讯录
	 6
	 微信联系人
	 7
	 来自微信的添加好友申请
	 8
	 安装第三方应用时自动添加的客服人员
	 9
	 搜索邮箱
	 201
	 内部成员共享
	 202
	 管理员/负责人分配
	 */
	private Integer addWay;

	/** 发起添加的userid，如果成员主动添加，为成员的userid；如果是客户主动添加，则为客户的外部联系人userid；如果是内部成员共享/管理员分配，则为对应的成员/管理员userid
	 */
	private String operUserid;

	/** 企业自定义的state参数，用于区分客户具体是通过哪个「联系我」添加，由企业通过创建「联系我」方式指定
	 */
	private String state;

	/** 企业表ID（corp.id） */
	private Long corpId;

	/** 1.正常 2.删除 3.拉黑 */
	@DiffLog(name = "状态")
	private Integer status;

	/** 员工添加此外部联系人的时间 */
	private Date addTime;

	/** $column.columnComment */
	@TableField(fill = FieldFill.INSERT)
	private Date createTime;

	/** $column.columnComment */
	@TableField(fill = FieldFill.INSERT_UPDATE)
	private Date updateTime;

	/** 删除标志（逻辑删除 null-正常 不为空则表示已被删除，且其值为删除时间） */
	@TableLogic(value = "0",delval = "id")
	private Integer delFlag;

	/**
	 * 一客一码配置id,即"联系我"配置id
	 * 参考https://work.weixin.qq.com/api/doc/90000/90135/92572
	 */
	private String configId;
	/**
	 * 一客一码二维码地址
	 * 参考https://work.weixin.qq.com/api/doc/90000/90135/92572
	 */
	private String qrCode;

	@TableField(exist = false)
	private List<WwContactTagPivot> tagPivotList;



}
